package cn.edu.scau.cmi.ema.service;

import java.util.List;
import java.util.Set;
import java.io.IOException;
import com.alibaba.fastjson.JSONObject;
import java.util.Map;
import org.springframework.web.bind.annotation.RequestParam;
import cn.edu.scau.cmi.ema.domain.*;
import cn.edu.scau.cmi.ema.domain.base.CmiPagination;


public interface MaterialService {

	public Material saveMaterial(Material material);

	public Set<Material> loadMaterials();

	public Set<Material> loadReferenceMaterials(Set<Material> materials);

	public Set<Material> loadMaterialsByIdSet(Set<Integer> materialsId);

	public Map<String, ?> loadMaterialObjectReferencedSet(Material material);

	public Map<String, ?> loadMaterialClassReferencedSet(Material material);

	public void deleteMaterial(Material material);

	public void deleteMaterials(Set<Integer> deleteMaterialsId);

	public List<Material> findAllMaterials(Integer startResult, Integer maxRows);

	public Material findMaterialByPrimaryKey(Integer id);

	public Integer countMaterials();

	public Integer countMaterials(CmiPagination page);

	public Integer countMaterialsByName(String queryName);

	public Integer countMaterialsByDetachedCriteria(CmiPagination page);

}
